#ifndef _C_LOGGER_H_
#define _C_LOGGER_H_

#include "cH.h"

namespace common
{
class cEXPORT  CLogger
{
public:
  void	cCALL      debug( const string& sFile, int line, const string& sMsg) const;
  void	cCALL      info( const string& sFile, int line, const string& sMsg) const;
  void	cCALL      warning( const string& sFile, int line, const string& sMsg) const;
  void	cCALL      error( const string& sFile, int line, const string& sMsg) const;
  void 	cCALL       fatal( const string& sFile, int line, const string& sMsg) const;
  
};

extern  cEXPORT CLogger g_Logger;

#define cDEBUG( params )    g_Logger.debug( __FILE__, __LINE__, params );
#define cINFO( params )     g_Logger.info( __FILE__, __LINE__, params );
#define cWARNING( params )  g_Logger.warning( __FILE__, __LINE__, params );
#define cERROR( params )    g_Logger.error( __FILE__, __LINE__, params );
#define cFATAL( params )    g_Logger.fatal( __FILE__, __LINE__, params );


} // end namespace

#endif